Real-life situations exist wherein the successful authentication of more than one entity must be performed before an activity is authorized. The classic example is the safe deposit box which requires that both the individual renting the box and the bank must present their key in order to open the box. The requirement that two different keys are needed to launch a missile carrying a nuclear warhead is a less prosaic example. In both situations, two physical keys that turn a pin and tumbler system are required to be presented simultaneously.
In all of the above cases in the current art and other existing access control systems that require multiple authentications, the Boolean expression that must be satisfied to gain access is “baked” into the system. The result is that it is very difficult if not impossible to change the Boolean expression in authentications that must be satisfied to gain access.
For example, if a bank customer says “I don't like the usual rule for safe deposit box access. I want there to be two representatives of my family and two representatives of the bank in order to open the box. Furthermore, one of the family representatives has to be a female and one of the bank representatives has to be a vice president.” Perhaps the bank could work something out procedurally in the case of one or two very desirable customers but it is unlikely that they would offer a safe deposit feature to all their customers that said “You Pick the Access Condition.”
A first disadvantage of the current art is that it is impractical to implement access control rules that are arbitrary Boolean expressions in authentications.
A second disadvantage of the current art is exemplified by the need to have all the keys (and usually all the people) necessary to open the box physically present in the vault at the time of opening. This is only true of course if the Boolean expression contains AND or NOT. In the hotel room scenario wherein there is only the OR operator is used in the Boolean expression only the room attendant or the hotel guest need be present.
A third disadvantage of the current art is that when a key holder inserts their key into a lock and turns it, it is obvious to everybody present that the key holder has or has not been successfully authenticated. In the former case the key turns and in the latter case the key does not turn. This is disadvantageous because an onlooker can physically observe conditions that result in the satisfaction of the Boolean expression. Once this is determined, the onlooker only needs to steal the keys of the necessary parties to gain access to a protected asset.
A fourth disadvantage of the current art is that in many cases the details of the Boolean expression that must be satisfied to gain access is also known to all the participants and perhaps to the general public. Thus, for example, the bank publishes the fact that two keys are necessary to open its safe deposit boxes, that one of these keys is held by the bank and the other is held by the box holder.
A fifth disadvantage of the current art is that it is very difficult if not impossible to implement a NOT condition. For example, one might want to implement the hotel room access condition(Key-of-Room-Attendant OR Key-of-Hotel-Guest) AND NOT (Key-of-Room-Attendant AND Key-of-Hotel-Guest)
in order to prohibit (for whatever reason) the hotel guest and the room attendant from being in the room at the same time.
Most commercial access control systems in the current art do not support this group behavior. In these systems a single identification card is presented to a system reader and if the card is successfully authenticated by the system access is allowed. Accordingly, there exists a need to develop a commercially viable access control system that facilitates group authentication decisions.